﻿using System;

namespace Borg
{
    [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = true)]
    public sealed class MonitorAttribute : Attribute
    {
        public string OnContractAdded = string.Empty;
        public string OnContractRemoved = string.Empty;

        public string OnDeregistered = string.Empty;
        public string OnDeregistering = string.Empty;

        public string OnExtensionCreated = string.Empty;
        public string OnExtensionCreating = string.Empty;

        public string OnExtensionReleased = string.Empty;
        public string OnExtensionReleasing = string.Empty;

        public string OnPlugged = string.Empty;
        public string OnPlugging = string.Empty;

        public string OnPluggingCanceled = string.Empty;

        public string OnPluginAdded = string.Empty;
        public string OnPluginRemoved = string.Empty;

        public string OnQueueEmptied = string.Empty;

        public string OnRegistered = string.Empty;
        public string OnRegistering = string.Empty;

        public string OnSelectionChanged = string.Empty;

        public string OnSlotClosed = string.Empty;
        public string OnSlotClosing = string.Empty;

        public string OnSlotOpened = string.Empty;
        public string OnSlotOpening = string.Empty;

        public string OnTaskDequeued = string.Empty;
        public string OnTaskEnqueued = string.Empty;

        public string OnUnplugged = string.Empty;
        public string OnUnplugging = string.Empty;
    }
}

